<?php
if (!isset($_SESSION))
    session_start();
include_once($_SESSION['dir'].'/basedatos.php');
class Comentario {		
	/*Funcion que agrega el comentario a la base de datos
	 * Parametros
	 * $perfil = instancia de la clase autor o identificador de la persona 
	 * $pub =  instancia de la clase publicacion o identificador de publicacion
         * $contenido = contenido del comentario (puede ser nulo)
	 */
        function agregarComentario($perfil, $pub, $contenido)
	{
            /*Revisamos que haya un nombre*/
            if ((strlen($contenido) == 0) || (strcmp($contenido, "") == 0))
             {
                   echo "<script language='JavaScript'>
                            alert('El comentario tiene que tener un contenido.'); 
                        </script>";
             }
             else if (strlen($contenido) > 255)
             {
                echo "<script language='JavaScript'>
                            alert('El contenido no puede sobrepasar los 255 caracteres.'); 
                        </script>"; 
             }    
             else {
                /* Escapamos los strings para evitar sql injection 
                 */  
                 if (get_magic_quotes_gpc())
                 { $contenido = stripslashes($contenido); }
                 $contenido = mysql_real_escape_string($contenido);

                 $database = new BaseDatos();
                 $array = array($perfil, $pub, $contenido, "1");
                 $database->insert("comentario (autor, publicacion, contenido, visible)", $array);   
             }  
        }	
		
        /*Funcion que elimina el comentario
         * Parametros
         * id = identificador del comentario
         * $usuario = $_SESSION, la informacion del usuario que esta conectado
         */
        function eliminarComentario($id, $usuario)
	{
            $database = new BaseDatos();
            $info_pub = $database->select4("comentario", "id", $id, "autor");

            /*Verificamos que el usuario que quiera eliminar sea el autor o administrador*/
            if ((strcmp($usuario['k_username'], $info_pub[0]) == 0) || 
                    (strcmp($usuario['tipo'], "admin") == 0))
            {        
                $database = new BaseDatos("");
                $database->modificarDatos("comentario", "visible=0", "id=$id");
            }
            else 
            {
                echo "<script language='JavaScript'>
                        alert('Solo el autor o un administrador puede borrar el comentario.'); 
                      </script>";    
            }    
        }
	
        /*Funcion que obtiene el nombre del autor del comentario
         * Parametros
         * autor = referencia a la instancia perfil 
         *      obtenido de una publicacion
         */
        function obtenerNombre($usuario)
	{
            $database = new BaseDatos();
            $info_nombre = $database->select4("perfil", "usrname", $usuario, "nombre, apellido");
            $autor = $info_nombre[0]." ".$info_nombre[1]; 
            return $autor; 
        }
}

?>